stus = []
"""
    用列表存放学生的数据
    用字典存放每个学生信息：名字 年龄 性别
    功能：实现增删改查
"""


def menu():
    print("1.增加学生")
    print("2.查找学生")
    print("3.更新学生")
    print("4.删除学生")
    print("5.按年龄排序")
    print("6.退出系统")


def insert():
    # pass  # 空语句
    d = {}
    name = input("请输入学生名字")
    age = int(input("请输入学生年龄"))
    gender = input("请输入学生性别")
    d["name"] = name
    d["age"] = age
    d["gender"] = gender
    stus.append(d)
    print(stus)


def update():
    name = input("请输入要更新学生的姓名")
    for i in stus:
        if i["name"] == name:
            print("1.更新名字")
            print("2.更新年龄")
            print("3.更新性别")
            print("4.退出更新")
            while True:
                num = input("请输入功能序号")
                if num == "1":
                    new_name = input("请输入新的名字")
                    i["name"] = new_name
                elif num == "2":
                    new_age = int(input("请输入年龄"))
                    i["age"] = new_age
                elif num == "3":
                    new_gender = input("请输入性别")
                    i["gender"] = new_gender
                else:
                    break
    else:
        print("查无此人")


def find():
    name = input("请输入要查找学生的姓名")
    for i in stus:
        if i.get("name") == name:
            print(i)
            break
    else:
        print("查无此人")


def delete():
    name = input("请输入要删除学生的姓名")
    for i in stus:
        if i.get("name") == name:
            stus.remove(i)
            break
    else:
        print("查无此人")


def sort_stus():
    stus.sort(key=lambda x: x.get("age"))
    print(stus)


def start():
    print("欢迎来到学生管理系统")
    while True:
        menu()
        num = int(input("请输入功能序号"))
        if num == 1:
            insert()
        elif num == 2:
            find()
        elif num == 3:
            update()
        elif num == 4:
            delete()
        elif num == 5:
            sort_stus()
        else:
            break


start()
